using System;

namespace NetDns
{
	/// <summary>
	/// A simple marker
	/// </summary>
	public interface IRecord
	{
		// no implementation
	}

    /// <summary>
    /// Interface for marking a type a resource record
    /// </summary>
    public interface IResourceRecord : IRecord
    {
        /// <summary>
        /// Resource identifier.
        /// </summary>
        int RecordType { get; }

        /// <summary>
        /// This method should be marked as static, but static methods cannot be specified on an interface.
        /// </summary>
        /// <param name="pointer"></param>
        /// <param name="length"></param>
        /// <returns></returns>
        IResourceRecord Parse(Pointer pointer, int length);
    }
}
